It's completely unused since we have a frame clock.
gdk_window_get_update_area
gdk_window_freeze_updates
gdk_window_thaw_updates
-gdk_window_process_all_updates
gdk_window_get_frame_clock
<SUBSECTION>
display_class->supports_cursor_alpha = _gdk_broadway_display_supports_cursor_alpha;
display_class->supports_cursor_color = _gdk_broadway_display_supports_cursor_color;
- display_class->before_process_all_updates = _gdk_broadway_display_before_process_all_updates;
- display_class->after_process_all_updates = _gdk_broadway_display_after_process_all_updates;
display_class->get_next_serial = gdk_broadway_display_get_next_serial;
display_class->notify_startup_complete = gdk_broadway_display_notify_startup_complete;
display_class->create_window_impl = _gdk_broadway_display_create_window_impl;
void _gdk_broadway_display_get_maximal_cursor_size (GdkDisplay *display,
guint *width,
guint *height);
-void _gdk_broadway_display_before_process_all_updates (GdkDisplay *display);
-void _gdk_broadway_display_after_process_all_updates (GdkDisplay *display);
void _gdk_broadway_display_create_window_impl (GdkDisplay *display,
GdkWindow *window,
GdkWindow *real_parent,
opacity = 1;
}
-void
-_gdk_broadway_display_before_process_all_updates (GdkDisplay *display)
-{
-}
-
-void
-_gdk_broadway_display_after_process_all_updates (GdkDisplay *display)
-{
-}
-
guint32
gdk_broadway_get_last_seen_time (GdkWindow *window)
{
GdkAppLaunchContext * (*get_app_launch_context) (GdkDisplay *display);
- void (*before_process_all_updates) (GdkDisplay *display);
- void (*after_process_all_updates) (GdkDisplay *display);
-
gulong (*get_next_serial) (GdkDisplay *display);
void (*notify_startup_complete) (GdkDisplay *display,
g_object_unref (window);
}
-static void
-flush_all_displays (void)
-{
- GSList *displays, *l;
-
- displays = gdk_display_manager_list_displays (gdk_display_manager_get ());
- for (l = displays; l; l = l->next)
- gdk_display_flush (l->data);
-
- g_slist_free (displays);
-}
-
-static void
-before_process_all_updates (void)
-{
- GSList *displays, *l;
- GdkDisplayClass *display_class;
-
- displays = gdk_display_manager_list_displays (gdk_display_manager_get ());
- display_class = GDK_DISPLAY_GET_CLASS (displays->data);
- for (l = displays; l; l = l->next)
- display_class->before_process_all_updates (l->data);
-
- g_slist_free (displays);
-}
-
-static void
-after_process_all_updates (void)
-{
- GSList *displays, *l;
- GdkDisplayClass *display_class;
-
- displays = gdk_display_manager_list_displays (gdk_display_manager_get ());
- display_class = GDK_DISPLAY_GET_CLASS (displays->data);
- for (l = displays; l; l = l->next)
- display_class->after_process_all_updates (l->data);
-
- g_slist_free (displays);
-}
-
-/* Currently it is not possible to override
- * gdk_window_process_all_updates in the same manner as
- * gdk_window_process_updates and gdk_window_invalidate_maybe_recurse
- * by implementing the GdkPaintable interface. If in the future a
- * backend would need this, the right solution would be to add a
- * method to GdkDisplay that can be optionally
- * NULL. gdk_window_process_all_updates can then walk the list of open
- * displays and call the mehod.
- */
-
-/**
- * gdk_window_process_all_updates:
- *
- * Calls gdk_window_process_updates() for all windows (see #GdkWindow)
- * in the application.
- *
- **/
-void
-gdk_window_process_all_updates (void)
-{
- GSList *old_update_windows = update_windows;
- GSList *tmp_list = update_windows;
- static gboolean in_process_all_updates = FALSE;
- static gboolean got_recursive_update = FALSE;
-
- if (in_process_all_updates)
- {
- /* We can't do this now since that would recurse, so
- delay it until after the recursion is done. */
- got_recursive_update = TRUE;
- return;
- }
-
- in_process_all_updates = TRUE;
- got_recursive_update = FALSE;
-
- update_windows = NULL;
-
- before_process_all_updates ();
-
- while (tmp_list)
- {
- GdkWindow *window = tmp_list->data;
-
- if (!GDK_WINDOW_DESTROYED (window))
- {
- if (window->update_freeze_count ||
- gdk_window_is_toplevel_frozen (window))
- gdk_window_add_update_window (window);
- else
- gdk_window_process_updates_internal (window);
- }
-
- g_object_unref (window);
- tmp_list = tmp_list->next;
- }
-
- g_slist_free (old_update_windows);
-
- flush_all_displays ();
-
- after_process_all_updates ();
-
- in_process_all_updates = FALSE;
-
- /* If we ignored a recursive call, schedule a
- redraw now so that it eventually happens,
- otherwise we could miss an update if nothing
- else schedules an update. */
- if (got_recursive_update)
- gdk_window_schedule_update (NULL);
-}
-
-
enum {
PROCESS_UPDATES_NO_RECURSE,
PROCESS_UPDATES_WITH_ALL_CHILDREN,
return NULL;
}
-static void
-gdk_mir_display_before_process_all_updates (GdkDisplay *display)
-{
- //g_printerr ("gdk_mir_display_before_process_all_updates\n");
-}
-
-static void
-gdk_mir_display_after_process_all_updates (GdkDisplay *display)
-{
- //g_printerr ("gdk_mir_display_after_process_all_updates\n");
-}
-
static gulong
gdk_mir_display_get_next_serial (GdkDisplay *display)
{
display_class->get_cursor_for_name = gdk_mir_display_get_cursor_for_name;
display_class->get_cursor_for_surface = gdk_mir_display_get_cursor_for_surface;
display_class->get_app_launch_context = gdk_mir_display_get_app_launch_context;
- display_class->before_process_all_updates = gdk_mir_display_before_process_all_updates;
- display_class->after_process_all_updates = gdk_mir_display_after_process_all_updates;
display_class->get_next_serial = gdk_mir_display_get_next_serial;
display_class->notify_startup_complete = gdk_mir_display_notify_startup_complete;
display_class->create_window_impl = gdk_mir_display_create_window_impl;
display_class->supports_cursor_alpha = _gdk_quartz_display_supports_cursor_alpha;
display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color;
- display_class->before_process_all_updates = _gdk_quartz_display_before_process_all_updates;
- display_class->after_process_all_updates = _gdk_quartz_display_after_process_all_updates;
display_class->get_next_serial = gdk_quartz_display_get_next_serial;
display_class->notify_startup_complete = gdk_quartz_display_notify_startup_complete;
display_class->event_data_copy = _gdk_quartz_display_event_data_copy;
*/
}
-void
-_gdk_quartz_display_before_process_all_updates (GdkDisplay *display)
-{
- in_process_all_updates = TRUE;
-
- NSDisableScreenUpdates ();
-}
-
-void
-_gdk_quartz_display_after_process_all_updates (GdkDisplay *display)
-{
- GSList *old_update_nswindows = update_nswindows;
- GSList *tmp_list = update_nswindows;
-
- update_nswindows = NULL;
-
- while (tmp_list)
- {
- NSWindow *nswindow = tmp_list->data;
-
- [[nswindow contentView] displayIfNeeded];
-
- _gdk_quartz_window_flush (NULL);
-
- [nswindow enableFlushWindow];
- [nswindow flushWindow];
- [nswindow release];
-
- tmp_list = tmp_list->next;
- }
-
- g_slist_free (old_update_nswindows);
-
- in_process_all_updates = FALSE;
-
- NSEnableScreenUpdates ();
-}
-
static const gchar *
get_default_title (void)
{
return TRUE;
}
-static void
-gdk_wayland_display_before_process_all_updates (GdkDisplay *display)
-{
-}
-
-static void
-gdk_wayland_display_after_process_all_updates (GdkDisplay *display)
-{
- /* Post the damage here instead? */
-}
-
static gulong
gdk_wayland_display_get_next_serial (GdkDisplay *display)
{
display_class->get_cursor_for_surface = _gdk_wayland_display_get_cursor_for_surface;
display_class->supports_cursor_alpha = _gdk_wayland_display_supports_cursor_alpha;
display_class->supports_cursor_color = _gdk_wayland_display_supports_cursor_color;
- display_class->before_process_all_updates = gdk_wayland_display_before_process_all_updates;
- display_class->after_process_all_updates = gdk_wayland_display_after_process_all_updates;
display_class->get_next_serial = gdk_wayland_display_get_next_serial;
display_class->notify_startup_complete = gdk_wayland_display_notify_startup_complete;
display_class->create_window_impl = _gdk_wayland_display_create_window_impl;
gdk_display_set_composited (GDK_DISPLAY (display), composited);
}
-static void
-gdk_win32_display_before_process_all_updates (GdkDisplay *display)
-{
- /* nothing */
-}
-static void
-gdk_win32_display_after_process_all_updates (GdkDisplay *display)
-{
- /* nothing */
-}
-
static void
gdk_win32_display_notify_startup_complete (GdkDisplay *display,
const gchar *startup_id)
display_class->supports_cursor_alpha = _gdk_win32_display_supports_cursor_alpha;
display_class->supports_cursor_color = _gdk_win32_display_supports_cursor_color;
- display_class->before_process_all_updates = gdk_win32_display_before_process_all_updates;
- display_class->after_process_all_updates = gdk_win32_display_after_process_all_updates;
display_class->get_next_serial = gdk_win32_display_get_next_serial;
display_class->notify_startup_complete = gdk_win32_display_notify_startup_complete;
display_class->create_window_impl = _gdk_win32_display_create_window_impl;
display_class->supports_cursor_alpha = _gdk_x11_display_supports_cursor_alpha;
display_class->supports_cursor_color = _gdk_x11_display_supports_cursor_color;
- display_class->before_process_all_updates = _gdk_x11_display_before_process_all_updates;
- display_class->after_process_all_updates = _gdk_x11_display_after_process_all_updates;
display_class->get_next_serial = gdk_x11_display_get_next_serial;
display_class->notify_startup_complete = gdk_x11_display_notify_startup_complete;
display_class->create_window_impl = _gdk_x11_display_create_window_impl;
void _gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display,
guint *width,
guint *height);
-void _gdk_x11_display_before_process_all_updates (GdkDisplay *display);
-void _gdk_x11_display_after_process_all_updates (GdkDisplay *display);
void _gdk_x11_display_create_window_impl (GdkDisplay *display,
GdkWindow *window,
GdkWindow *real_parent,
(guchar *) &cardinal, 1);
}
-void
-_gdk_x11_display_before_process_all_updates (GdkDisplay *display)
-{
-}
-
-void
-_gdk_x11_display_after_process_all_updates (GdkDisplay *display)
-{
- /* Sync after all drawing, otherwise the client can get "ahead" of
- the server rendering during animations, such that we fill up
- the Xserver pipes with sync rendering ops not letting other
- clients (including the VM) do anything. */
- XSync (GDK_DISPLAY_XDISPLAY (display), FALSE);
-}
-
static Bool
timestamp_predicate (Display *display,
XEvent *xevent,